package ScalaStudy.chapter06

object test08_DynamicBind {
  def main(args: Array[String]): Unit = {


    /////////////////////////////////////////////////////////////////////////////////////////
    //////////////////////////////////////   多态（动态绑定）   /////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////

    
    //调用
    val student: Person8 = new Student8         //定义一个对象，对象的类型是父类，但是继承的是子类
    println(student.name)                       //在scala中属性和方法都是动态绑定
    student.hello()

  }
}


class Person8{
  val name:String = "persion"
  def hello(): Unit = {
    println("hello persion")
  }
}

class Student8 extends Person8{
  override val name:String = "student"            //继承自父类 现在重写父类的属性
  override def hello(): Unit = {
    println("hello student")
  }
}
